package cn.topevery.garden.entity.dto;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import lombok.Data;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.math.BigDecimal;
import org.locationtech.jts.geom.Geometry;
import com.alibaba.fastjson.annotation.JSONField;
import cn.topevery.garden.entity.serializer.GeometrySerializer;

/**
 * 考勤记录 DTO
 */
@Data
@ApiModel(value = "PersonAttendanceDTO", description = "考勤记录 DTO")
public class PersonAttendanceDTO implements Serializable{
    /**
     * 自增id
     */
    private Integer id;

        /** UUID */
    @ApiModelProperty(value = "UUID")
    private String entityId;

    /** 日期  */
    @ApiModelProperty(value = "日期 ")
    private LocalDate date;

    /** 用户Id  */
    @ApiModelProperty(value = "用户Id ")
    private String userId;

    /** 用户名  */
    @ApiModelProperty(value = "用户名 ")
    private String userName;

    /** 签到 */
    @ApiModelProperty(value = "签到")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime signIn;

    /** 签退  */
    @ApiModelProperty(value = "签退 ")
    @JSONField(format="yyyy-MM-dd HH:mm:ss")
    private LocalDateTime signOut;

    /** 迟到  */
    @ApiModelProperty(value = "迟到 ")
    private Long signInOvertimes;

    /** 早退  */
    @ApiModelProperty(value = "早退 ")
    private Long signOutOvertimes;

    /** 1 旷工 0 正常 */
    @ApiModelProperty(value = "1 旷工 0 正常")
    private Integer isEmpty;

    /** 出范围时长  */
    @ApiModelProperty(value = "出范围时长 ")
    private Long outRange;

    /** 滞留时长  */
    @ApiModelProperty(value = "滞留时长 ")
    private Long retentionOvertimes;

    /** 1 正常 0 请假   */
    @ApiModelProperty(value = "1 正常 0 请假  ")
    private Integer isLeave;

    /** 加班时长 */
    @ApiModelProperty(value = "加班时长")
    private Long isOvertimes;

    @ApiModelProperty(value = "状态")
private Integer state;

}
